home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / news / inn1.000 / inn1.4sec-linux-src.tar / inn / include / qio.h < prev    next >
C/C++ Source or Header  |  1991-11-27  |  811b  |  40 lines

  1. /*  $Revision: 1.2 $
  2. **
  3. **  Quick I/O package -- optimized for reading through a file.
  4. */
  5.  
  6.  
  7. /*
  8. **  State for a quick open file.
  9. */
  10. typedef struct _QIOSTATE {
  11.     int        fd;
  12.     int        Size;
  13.     int        flag;
  14.     int        Length;
  15.     char    *Buffer;
  16.     char    *End;
  17.     char    *Start;
  18.     long    Count;
  19. } QIOSTATE;
  20.  
  21.     /* A reasonable buffersize to use. */
  22. #define QIO_BUFFER    8192
  23.  
  24.     /* Values for QIOstate.flag */
  25. #define QIO_ok        0
  26. #define QIO_error    1
  27. #define QIO_long    2
  28.  
  29. #define QIOerror(qp)        ((qp)->flag > 0)
  30. #define QIOtoolong(qp)        ((qp)->flag == QIO_long)
  31. #define QIOtell(qp)        ((qp)->Count - ((qp)->End - (qp)->Start))
  32. #define QIOlength(qp)        ((qp)->Length)
  33. #define QIOfileno(qp)        ((qp)->fd)
  34.  
  35. extern char    *QIOread();
  36. extern QIOSTATE    *QIOopen();
  37. extern QIOSTATE    *QIOfdopen();
  38. extern void    QIOclose();
  39. extern int    QIOrewind();
  40.